<?php

/**
 * This is the model class for table "sps_mitgl001_sql".
 *
 * The followings are the available columns in table 'sps_mitgl001_sql':
 * @property integer $Mitgliednummer
 * @property string $Mitgliederbezeichnung
 * @property integer $Kundennummer
 * @property integer $Terminnummer
 * @property integer $Kontaktnummer
 * @property integer $Anzahl_Mitgliederperioden
 * @property integer $Mitgliedschaft_bei_Kundennr
 * @property integer $Mitgliedschaft_bei_Kontakt
 * @property integer $Zahler_Kundennummer
 * @property integer $Zahler_Kontaktnummer
 * @property integer $Berechnungs_Template
 * @property integer $Mitgliedschaft_gratis
 * @property integer $Faktura_Intervall_in_Monaten
 * @property integer $Dienstleistungs_Stop_aktiv
 * @property string $Erfassungsdatum
 * @property string $Erfassungsbenutzer
 * @property string $letzte_Mutation_Datum
 * @property string $Mutations_Benutzer
 * @property string $Bemerkung
 * @property integer $Rechnung_liefern_an_Kdnr
 * @property integer $Rechnung_liefern_an_Termin
 * @property integer $Rechnung_liefern_an_Kontakt
 * @property integer $Anzahl_Mitgliedermonate
 * @property integer $aktuelle_Mitgliedschaft_bez
 * @property string $Beitragsbefreiung_von_Datum
 * @property string $Beitragsbefreiung_bis_Datum
 * @property string $Beitragsbefreiung_Text
 * @property integer $Beitragsbefreiung_Grund_HC
 * @property integer $Beitragsbefreiung_Grund_UC
 * @property string $fruehestes_Austrittsdatum
 * @property integer $fakturiert_bis_Jahr
 * @property integer $fakturiert_bis_Monat
 * @property integer $fakturieren_ab_Jahr
 * @property integer $fakturieren_ab_Monat
 * @property integer $letzter_erstellter_Beleg
 * @property string $Technischer_Eintritt_Verband
 * @property string $Technischer_Eintirtt_Sektion
 * @property string $Waehrung
 * @property string $Spenden_Geldkonto
 * @property string $Spenden_Fibukonto
 * @property string $Spenden_Projektkonto
 * @property integer $Benutzernummer_Web
 * @property integer $Referenz_Mitgliedschaft
 * @property string $Datum_Reserve_1
 * @property string $Datum_Reserve_2
 * @property string $Druckdatum_Mitgliederausweis
 * @property string $Sektionsabr_bis_Datum
 * @property integer $Reserve_HC
 * @property integer $Reserve_UC
 * @property string $Spenden_Projektgruppe
 * @property integer $Spendenart_HC
 * @property integer $Spendenart_UC
 * @property integer $Spendenherkunft_HC
 * @property integer $Spendenherkunft_UC
 * @property integer $Eigentum_HC
 * @property integer $Eigentum_UC
 * @property string $Verband
 * @property string $Region
 * @property string $Sektion
 * @property string $Sektion_PLZ
 * @property string $Sektion_Ort
 * @property string $Kanton
 * @property string $Eintritt
 * @property string $Austritt
 * @property string $Klasse_Verband
 * @property string $Klasse_Sektion
 *
 * The followings are the available model relations:
 * @property SpsWmProfilSql $spsWmProfilSql
 */
class Membership extends CActiveRecord
{
	/**
	 * Returns the static model of the specified AR class.
	 * @param string $className active record class name.
	 * @return Membership the static model class
	 */
	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}

	/**
	 * @return string the associated database table name
	 */
	public function tableName()
	{
		return 'sps_mitgl001_sql';
	}

	/**
	 * @return array validation rules for model attributes.
	 */
	public function rules()
	{
		// NOTE: you should only define rules for those attributes that
		// will receive user inputs.
		return array(
			array('Bemerkung', 'required'),
			array('Mitgliednummer, Kundennummer, Terminnummer, Kontaktnummer, Anzahl_Mitgliederperioden, Mitgliedschaft_bei_Kundennr, Mitgliedschaft_bei_Kontakt, Zahler_Kundennummer, Zahler_Kontaktnummer, Berechnungs_Template, Mitgliedschaft_gratis, Faktura_Intervall_in_Monaten, Dienstleistungs_Stop_aktiv, Rechnung_liefern_an_Kdnr, Rechnung_liefern_an_Termin, Rechnung_liefern_an_Kontakt, Anzahl_Mitgliedermonate, aktuelle_Mitgliedschaft_bez, Beitragsbefreiung_Grund_HC, Beitragsbefreiung_Grund_UC, fakturiert_bis_Jahr, fakturiert_bis_Monat, fakturieren_ab_Jahr, fakturieren_ab_Monat, letzter_erstellter_Beleg, Benutzernummer_Web, Referenz_Mitgliedschaft, Reserve_HC, Reserve_UC, Spendenart_HC, Spendenart_UC, Spendenherkunft_HC, Spendenherkunft_UC, Eigentum_HC, Eigentum_UC', 'numerical', 'integerOnly'=>true),
			array('Mitgliederbezeichnung, Beitragsbefreiung_Text', 'length', 'max'=>100),
			array('Erfassungsdatum, Erfassungsbenutzer, letzte_Mutation_Datum, Mutations_Benutzer, Beitragsbefreiung_von_Datum, Beitragsbefreiung_bis_Datum, fruehestes_Austrittsdatum, Technischer_Eintritt_Verband, Technischer_Eintirtt_Sektion, Datum_Reserve_1, Datum_Reserve_2, Druckdatum_Mitgliederausweis, Sektionsabr_bis_Datum, Eintritt, Austritt', 'length', 'max'=>10),
			array('Waehrung', 'length', 'max'=>5),
			array('Spenden_Geldkonto, Spenden_Fibukonto, Spenden_Projektkonto, Spenden_Projektgruppe, Sektion_Ort', 'length', 'max'=>30),
			array('Verband, Region, Sektion, Kanton, Klasse_Verband, Klasse_Sektion', 'length', 'max'=>50),
			array('Sektion_PLZ', 'length', 'max'=>12),
			// The following rule is used by search().
			// Please remove those attributes that should not be searched.
			array('Mitgliednummer, Mitgliederbezeichnung, Kundennummer, Terminnummer, Kontaktnummer, Anzahl_Mitgliederperioden, Mitgliedschaft_bei_Kundennr, Mitgliedschaft_bei_Kontakt, Zahler_Kundennummer, Zahler_Kontaktnummer, Berechnungs_Template, Mitgliedschaft_gratis, Faktura_Intervall_in_Monaten, Dienstleistungs_Stop_aktiv, Erfassungsdatum, Erfassungsbenutzer, letzte_Mutation_Datum, Mutations_Benutzer, Bemerkung, Rechnung_liefern_an_Kdnr, Rechnung_liefern_an_Termin, Rechnung_liefern_an_Kontakt, Anzahl_Mitgliedermonate, aktuelle_Mitgliedschaft_bez, Beitragsbefreiung_von_Datum, Beitragsbefreiung_bis_Datum, Beitragsbefreiung_Text, Beitragsbefreiung_Grund_HC, Beitragsbefreiung_Grund_UC, fruehestes_Austrittsdatum, fakturiert_bis_Jahr, fakturiert_bis_Monat, fakturieren_ab_Jahr, fakturieren_ab_Monat, letzter_erstellter_Beleg, Technischer_Eintritt_Verband, Technischer_Eintirtt_Sektion, Waehrung, Spenden_Geldkonto, Spenden_Fibukonto, Spenden_Projektkonto, Benutzernummer_Web, Referenz_Mitgliedschaft, Datum_Reserve_1, Datum_Reserve_2, Druckdatum_Mitgliederausweis, Sektionsabr_bis_Datum, Reserve_HC, Reserve_UC, Spenden_Projektgruppe, Spendenart_HC, Spendenart_UC, Spendenherkunft_HC, Spendenherkunft_UC, Eigentum_HC, Eigentum_UC, Verband, Region, Sektion, Sektion_PLZ, Sektion_Ort, Kanton, Eintritt, Austritt, Klasse_Verband, Klasse_Sektion', 'safe', 'on'=>'search'),
		);
	}

	/**
	 * @return array relational rules.
	 */
	public function relations()
	{
		// NOTE: you may need to adjust the relation name and the related
		// class name for the relations automatically generated below.
		return array(
			'member' => array(self::BELONGS_TO, 'Member', array('Benutzernummer' => 'Benutzernummer_Web')),
			'section' => array(self::HAS_ONE, 'Section', array('id' => 'Mitgliedschaft_bei_Kundennr')),
		);
	}

	/**
	 * @return array customized attribute labels (name=>label)
	 */
	public function attributeLabels()
	{
		return array(
			'Mitgliednummer' => 'Mitgliednummer',
			'Mitgliederbezeichnung' => 'Mitgliederbezeichnung',
			'Kundennummer' => 'OM-Nummer',
			'Terminnummer' => 'Terminnummer',
			'Kontaktnummer' => 'Kontaktnummer',
			'Anzahl_Mitgliederperioden' => 'Anzahl Mitgliederperioden',
			'Mitgliedschaft_bei_Kundennr' => 'Mitgliedschaft Bei Kundennr',
			'Mitgliedschaft_bei_Kontakt' => 'Mitgliedschaft Bei Kontakt',
			'Zahler_Kundennummer' => 'Zahler Kundennummer',
			'Zahler_Kontaktnummer' => 'Zahler Kontaktnummer',
			'Berechnungs_Template' => 'Berechnungs Template',
			'Mitgliedschaft_gratis' => 'Mitgliedschaft Gratis',
			'Faktura_Intervall_in_Monaten' => 'Faktura Intervall In Monaten',
			'Dienstleistungs_Stop_aktiv' => 'Dienstleistungs Stop Aktiv',
			'Erfassungsdatum' => 'Erfassungsdatum',
			'Erfassungsbenutzer' => 'Erfassungsbenutzer',
			'letzte_Mutation_Datum' => 'Letzte Mutation Datum',
			'Mutations_Benutzer' => 'Mutations Benutzer',
			'Bemerkung' => 'Bemerkung',
			'Rechnung_liefern_an_Kdnr' => 'Rechnung Liefern An Kdnr',
			'Rechnung_liefern_an_Termin' => 'Rechnung Liefern An Termin',
			'Rechnung_liefern_an_Kontakt' => 'Rechnung Liefern An Kontakt',
			'Anzahl_Mitgliedermonate' => 'Anzahl Mitgliedermonate',
			'aktuelle_Mitgliedschaft_bez' => 'Aktuelle Mitgliedschaft Bez',
			'Beitragsbefreiung_von_Datum' => 'Beitragsbefreiung Von Datum',
			'Beitragsbefreiung_bis_Datum' => 'Beitragsbefreiung Bis Datum',
			'Beitragsbefreiung_Text' => 'Beitragsbefreiung Text',
			'Beitragsbefreiung_Grund_HC' => 'Beitragsbefreiung Grund Hc',
			'Beitragsbefreiung_Grund_UC' => 'Beitragsbefreiung Grund Uc',
			'fruehestes_Austrittsdatum' => 'Fruehestes Austrittsdatum',
			'fakturiert_bis_Jahr' => 'Fakturiert Bis Jahr',
			'fakturiert_bis_Monat' => 'Fakturiert Bis Monat',
			'fakturieren_ab_Jahr' => 'Fakturieren Ab Jahr',
			'fakturieren_ab_Monat' => 'Fakturieren Ab Monat',
			'letzter_erstellter_Beleg' => 'Letzter Erstellter Beleg',
			'Technischer_Eintritt_Verband' => 'Technischer Eintritt Verband',
			'Technischer_Eintirtt_Sektion' => 'Technischer Eintirtt Sektion',
			'Waehrung' => 'Waehrung',
			'Spenden_Geldkonto' => 'Spenden Geldkonto',
			'Spenden_Fibukonto' => 'Spenden Fibukonto',
			'Spenden_Projektkonto' => 'Spenden Projektkonto',
			'Benutzernummer_Web' => 'Benutzernummer Web',
			'Referenz_Mitgliedschaft' => 'Referenz Mitgliedschaft',
			'Datum_Reserve_1' => 'Datum Reserve 1',
			'Datum_Reserve_2' => 'Datum Reserve 2',
			'Druckdatum_Mitgliederausweis' => 'Druckdatum Mitgliederausweis',
			'Sektionsabr_bis_Datum' => 'Sektionsabr Bis Datum',
			'Reserve_HC' => 'Reserve Hc',
			'Reserve_UC' => 'Reserve Uc',
			'Spenden_Projektgruppe' => 'Spenden Projektgruppe',
			'Spendenart_HC' => 'Spendenart Hc',
			'Spendenart_UC' => 'Spendenart Uc',
			'Spendenherkunft_HC' => 'Spendenherkunft Hc',
			'Spendenherkunft_UC' => 'Spendenherkunft Uc',
			'Eigentum_HC' => 'Eigentum Hc',
			'Eigentum_UC' => 'Eigentum Uc',
			'Verband' => 'Verband',
			'Region' => 'Region',
			'Sektion' => 'Sektion',
			'Sektion_PLZ' => 'Sektion Plz',
			'Sektion_Ort' => 'Sektion Ort',
			'Kanton' => 'Kanton',
			'Eintritt' => 'Eintritt',
			'Austritt' => 'Austritt',
			'Klasse_Verband' => 'Klasse Verband',
			'Klasse_Sektion' => 'Klasse Sektion',
		);
	}

	/**
	 * Retrieves a list of models based on the current search/filter conditions.
	 * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
	 */
	public function search()
	{
		// Warning: Please modify the following code to remove attributes that
		// should not be searched.

		$criteria=new CDbCriteria;

//		$criteria->compare('Mitgliednummer',$this->Mitgliednummer);
//		$criteria->compare('Mitgliederbezeichnung',$this->Mitgliederbezeichnung,true);
//		$criteria->compare('Kundennummer',$this->Kundennummer);
//		$criteria->compare('Terminnummer',$this->Terminnummer);
//		$criteria->compare('Kontaktnummer',$this->Kontaktnummer);
//		$criteria->compare('Anzahl_Mitgliederperioden',$this->Anzahl_Mitgliederperioden);
//		$criteria->compare('Mitgliedschaft_bei_Kundennr',$this->Mitgliedschaft_bei_Kundennr);
//		$criteria->compare('Mitgliedschaft_bei_Kontakt',$this->Mitgliedschaft_bei_Kontakt);
//		$criteria->compare('Zahler_Kundennummer',$this->Zahler_Kundennummer);
//		$criteria->compare('Zahler_Kontaktnummer',$this->Zahler_Kontaktnummer);
//		$criteria->compare('Berechnungs_Template',$this->Berechnungs_Template);
//		$criteria->compare('Mitgliedschaft_gratis',$this->Mitgliedschaft_gratis);
//		$criteria->compare('Faktura_Intervall_in_Monaten',$this->Faktura_Intervall_in_Monaten);
//		$criteria->compare('Dienstleistungs_Stop_aktiv',$this->Dienstleistungs_Stop_aktiv);
//		$criteria->compare('Erfassungsdatum',$this->Erfassungsdatum,true);
//		$criteria->compare('Erfassungsbenutzer',$this->Erfassungsbenutzer,true);
//		$criteria->compare('letzte_Mutation_Datum',$this->letzte_Mutation_Datum,true);
//		$criteria->compare('Mutations_Benutzer',$this->Mutations_Benutzer,true);
//		$criteria->compare('Bemerkung',$this->Bemerkung,true);
//		$criteria->compare('Rechnung_liefern_an_Kdnr',$this->Rechnung_liefern_an_Kdnr);
//		$criteria->compare('Rechnung_liefern_an_Termin',$this->Rechnung_liefern_an_Termin);
//		$criteria->compare('Rechnung_liefern_an_Kontakt',$this->Rechnung_liefern_an_Kontakt);
//		$criteria->compare('Anzahl_Mitgliedermonate',$this->Anzahl_Mitgliedermonate);
//		$criteria->compare('aktuelle_Mitgliedschaft_bez',$this->aktuelle_Mitgliedschaft_bez);
//		$criteria->compare('Beitragsbefreiung_von_Datum',$this->Beitragsbefreiung_von_Datum,true);
//		$criteria->compare('Beitragsbefreiung_bis_Datum',$this->Beitragsbefreiung_bis_Datum,true);
//		$criteria->compare('Beitragsbefreiung_Text',$this->Beitragsbefreiung_Text,true);
//		$criteria->compare('Beitragsbefreiung_Grund_HC',$this->Beitragsbefreiung_Grund_HC);
//		$criteria->compare('Beitragsbefreiung_Grund_UC',$this->Beitragsbefreiung_Grund_UC);
//		$criteria->compare('fruehestes_Austrittsdatum',$this->fruehestes_Austrittsdatum,true);
//		$criteria->compare('fakturiert_bis_Jahr',$this->fakturiert_bis_Jahr);
//		$criteria->compare('fakturiert_bis_Monat',$this->fakturiert_bis_Monat);
//		$criteria->compare('fakturieren_ab_Jahr',$this->fakturieren_ab_Jahr);
//		$criteria->compare('fakturieren_ab_Monat',$this->fakturieren_ab_Monat);
//		$criteria->compare('letzter_erstellter_Beleg',$this->letzter_erstellter_Beleg);
//		$criteria->compare('Technischer_Eintritt_Verband',$this->Technischer_Eintritt_Verband,true);
//		$criteria->compare('Technischer_Eintirtt_Sektion',$this->Technischer_Eintirtt_Sektion,true);
//		$criteria->compare('Waehrung',$this->Waehrung,true);
//		$criteria->compare('Spenden_Geldkonto',$this->Spenden_Geldkonto,true);
//		$criteria->compare('Spenden_Fibukonto',$this->Spenden_Fibukonto,true);
//		$criteria->compare('Spenden_Projektkonto',$this->Spenden_Projektkonto,true);
//		$criteria->compare('Benutzernummer_Web',$this->Benutzernummer_Web);
//		$criteria->compare('Referenz_Mitgliedschaft',$this->Referenz_Mitgliedschaft);
//		$criteria->compare('Datum_Reserve_1',$this->Datum_Reserve_1,true);
//		$criteria->compare('Datum_Reserve_2',$this->Datum_Reserve_2,true);
//		$criteria->compare('Druckdatum_Mitgliederausweis',$this->Druckdatum_Mitgliederausweis,true);
//		$criteria->compare('Sektionsabr_bis_Datum',$this->Sektionsabr_bis_Datum,true);
//		$criteria->compare('Reserve_HC',$this->Reserve_HC);
//		$criteria->compare('Reserve_UC',$this->Reserve_UC);
//		$criteria->compare('Spenden_Projektgruppe',$this->Spenden_Projektgruppe,true);
//		$criteria->compare('Spendenart_HC',$this->Spendenart_HC);
//		$criteria->compare('Spendenart_UC',$this->Spendenart_UC);
//		$criteria->compare('Spendenherkunft_HC',$this->Spendenherkunft_HC);
//		$criteria->compare('Spendenherkunft_UC',$this->Spendenherkunft_UC);
//		$criteria->compare('Eigentum_HC',$this->Eigentum_HC);
//		$criteria->compare('Eigentum_UC',$this->Eigentum_UC);
//		$criteria->compare('Verband',$this->Verband,true);
//		$criteria->compare('Region',$this->Region,true);
//		$criteria->compare('Sektion',$this->Sektion,true);
//		$criteria->compare('Sektion_PLZ',$this->Sektion_PLZ,true);
//		$criteria->compare('Sektion_Ort',$this->Sektion_Ort,true);
//		$criteria->compare('Kanton',$this->Kanton,true);
//		$criteria->compare('Eintritt',$this->Eintritt,true);
//		$criteria->compare('Austritt',$this->Austritt,true);
//		$criteria->compare('Klasse_Verband',$this->Klasse_Verband,true);
//		$criteria->compare('Klasse_Sektion',$this->Klasse_Sektion,true);
		
		$criteria->condition = "(Austritt = '0000-00-00 OR Austritt >= " . date('Y-m-d') . ")";

		return new CActiveDataProvider($this, array(
			'criteria'=>$criteria,
		));
	}
}